1. Field of the Invention
The present invention relates to a data processing apparatus and method used for data communication with electronic apparatuses capable of transmitting/receiving image data and the like via a digital interface.
2. Related Background Art
Apparatuses and systems capable of processing composite information, not only text information such as document information but also other information such as image and voice information, are widely used because of improved performances of central processing units (CPUs) of computers, hardware running operating systems (OSes) made available to graphics, networks compatible with digitized communication information of large capacity, developments in information compression techniques, and the like.
With developments in such multimedia techniques, it has become possible to transfer various types of data in various formats via one digital interface (digital I/F) by using communication protocols.
It has also become possible to externally control each of a plurality of units constituting an apparatus running on one communication protocol, and to exchange information between each unit and an external unit.
An IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1394 serial bus has been paid attention among presently used digital I/F. Use of IEEE 1394 serial buses allows to configure a communication system in which a plurality of electronic apparatuses are interconnected by communication control buses capable of transferring both control signals and information signals to thereby exchange these signals between the electronic apparatuses.
An example of such a system is shown in FIG. 1. This system is constituted of a digital camcorder (hereinafter abbreviated as DVCR 1), a digital television receiver (hereinafter abbreviated as TV 1), and two video tape recorders (hereinafter abbreviated as VTR 1 and VTR 2). IEEE 1394 serial bus cables are used for the connections between DVCR 1 and TV 1, between TV 1 and VTR 1, and between VTR 1 and VTR 2. Each digital apparatus has a function of relaying digital data and control data on 1394 serial buses.
References "#0" to "#3" denote system node IDs of DVCR 1, VTR 2, VTR 1, and TV 1.
Signal transmission by the respective electronic apparatuses (hereinafter simply called apparatuses) of the system is performed in time division multiplex in each predetermined communication cycle (e.g., 125 .mu.sec), as shown in FIG. 2. Signal transmission to each bus starts after an electronic apparatus called a cycle master sends a cycle start packet (CSP) to the bus, this packet indicating a start of a communication cycle.
Two communication types are used in each communication cycle, isochronous (hereinafter abbreviated as Iso) communications and asynchronous (hereinafter abbreviated as Async) communications. Iso communications transfer information signals such as video and audio data through isochronous communications, whereas Async communications transfer information signals through asynchronous communications.
Iso communication packets are transmitted in advance of an Async communication packet. Iso communication packets are assigned channel numbers 1, 2, 3, . . . N to discriminate between a plurality of Iso data. Transmission of the Async communication packet is performed during a period from when all Iso communication packets were transmitted completely and to when the next cycle start packet is transmitted.
A control signal that one apparatus requests something from another apparatus during the Async communication, is called a command. An apparatus which sends a packet containing such a command is called a controller, whereas an apparatus which receives the command is called a target. The target returns, if necessary, a packet containing a control signal (called a response) representative of the execution results of the received command.
These command and response are transferred between one controller and one corresponding target. A set of processes starting from the transmission of a command and terminating at the return of the response, is called a command transaction.
By using the command transaction, each controller can requests the target to execute a specific operation and can inquire the current status of the target. Any of the apparatuses of the system can start and terminate the command transaction. In other words, any apparatus can become a controller or a target.
FIG. 3 shows the structure of an Async communication packet containing a control signal. In FIG. 3, data in the packet is sequentially transmitted from the upper to lower side and from the left to right side.
The Async communication packet is constituted of a packet header and a data block. The whole of the packet header and a data CRC field in the data block has the specifications stipulated by IEEE 1394. The contents of the data block of the packet transmitted from an apparatus identified with a source ID in the packet header are written in a storage unit of an apparatus identified with a destination (object) ID at an address indicated by a destination offset.
For example, in FIG. 1, if TV 1 sends a command to VTR 1, the source ID is #3, the destination ID is #2, and the destination offset is a memory space assigned as an area of VTR 1 in which the command is loaded.
In the above-described communication scheme, it is stipulated that a target returns a response as soon (e.g., in 100 ms or shorter) as possible after the command is received during the command transaction. The reason of this is to prevent a process from being delayed because the controller waits for the response too long, and to prevent a process from being suspended because a response is not returned by some reasons.